﻿using SupportLayer.Enums;
using SupportLayer.Interfaces;
using SupportLayer.Objetos.Espacamento;
using System.Collections.Generic;

namespace SupportLayer.Objetos.Elementos
{
  public class MensagemClass : IElement
  {
    private string value = "";
    private AlturaLetra alturaLetra = AlturaLetra.A100;
    private string Fonte = "";
    private bool italico;

    public MensagemClass(string _value, AlturaLetra _altura, string _fonte, bool _italico = false)
    {
      value = _value;
      alturaLetra = _altura;
      italico = _italico;
      Fonte = _fonte;
    }

    public Enums.TipoElemento GetElement()
    {
      return Enums.TipoElemento.Mensagem;
    }

    public AlturaLetra GetAlturaLetra()
    {
      return alturaLetra;
    }

    public string GetValue()
    {
      return value;
    }

    public int GetWidth()
    {
      int width = 0;
      Util.Espacamento esp = new Util.Espacamento();
      esp.GetEspacamentoLetras(value, alturaLetra, Fonte, out width);

      return width;
    }

    public List<EspacamentoClass> GetEspacamento()
    {
      int width = 0;
      return new Util.Espacamento().GetEspacamentoLetras(value, alturaLetra, Fonte, out width);
    }

    public bool isItalic()
    {
      return italico;
    }
  }
}